#!/usr/bin/env python
# -*- coding: utf-8 -*-
# #############################################################
# transmusic
#  Transvaser de la music d'un repertoire de stocage vers un autre
#
# Ce programme est livree sans aucune garantie sous les terme 
# de la licence GPL
# Edite par AzalSup 
# sous licence GPL 
#
# Un programmeur ne copie pas il s'inspire , lire les termes 
# de la licence gpl.txt
# 
# Version du programme 0.1.0
# Date de production Fri Oct 10 14:13:00 2008
#
# For more informations
# http://code.google.com/p/moufid
# #############################################################




__version__ = 0.1 # Ca ne sert a rien juste pour le fun ... comme si je codais serieusement

# 0 : Pas de message sauf plantage
# 1 : Les messages d'inforation
# 2 : Les warning
# 3 : Toutes les traces 
__DEBUG_LEVEL__ = 2

import sys, os, shutil


#Les fonctions elementaires necessaires au bon fonctionnement du programme
def END() :
	"""Areter le programme"""
	sys.exit()

def ERROR(msg):
	"""Affiche un message d'erreur"""
	_len = len(str(msg))
	print '#'*_len
	print msg
	print '#'*_len
	END()

def WARNING(msg):
	"""Affiche un message de prevention"""
	
	if __DEBUG_LEVEL__ > 1 :
		_len = len(str(msg))
		print '*'*_len
		print msg
		print '*'*_len
	
def INFO(msg):
	"""Affiche un message d'information"""
	
	if __DEBUG_LEVEL__ > 0 :
		_len = len(str(msg))
		print '@'*_len
		print msg
		print '@'*_len
		
def TRACE(msg):
	"""Affiche un message d'information"""
	
	if __DEBUG_LEVEL__ > 2 :
		_len = len(str(msg))
		print '~'*_len
		print msg
		print '~'*_len


def COPY(oldFile, NewFile):
	""" Copier un fichier"""
	if not (os.path.isfile(oldFile) ):
		ERROR("Le fichier a copier n'existe pas :\n"+ oldFile )
	
	if (os.path.isfile(NewFile) ):
		WARNING("Le fichier destination existe deja  :\n"+ oldFile )
		return 0
		
	try :
		shutil.copy(oldFile, NewFile)
	except (OSError, IOError) :
		ERROR("Impossible de copier le fichier :\n"+ oldFile +"\nvers : "+ NewFile)

def MKDIR(dir): 
	""" Cree un reprtoire"""
	try :
		os.mkdir(dir)
	except (OSError, IOError) :
		ERROR("Impossible de creer le repertoire, Assurer que ce repertoire n'a pas deja ete cree :\n"+ dir)

def MAKEDIRS(dir): 
	""" Cree un reprtoire"""
	try :
		os.makedirs(dir)
	except (OSError, IOError) :
		ERROR("Impossible de creer le repertoire, S'assurer que ce repertoire n'a pas deja ete cree :\n"+ dir)


def OPEN(path, flag) :
	""" Oouvrir un fichier"""
	if ('w' not in flag.lower() ) and ( not (os.path.isfile(path) )):
		ERROR("Le fichier a ouvrir n'existe pas :\n"+ path )
		
	try :
		return open(path, flag)
	except (OSError, IOError) :
		ERROR("Impossible d'ouvrir le fichier :\n"+ path)

def RMFILE(path) :
	try :
		os.remove(path)
	except (OSError, IOError) :
		ERROR("Impossible de supprimer le fichier :\n"+ path)
	def ENTOURER(chaine):
	""" Retourn the string chiane surounded by quotes '"' """
	return '"' + chaine +'"'

